home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Modules / BackSpaceModules / Source / AquariumView / Thinker3.h < prev    next >
Text File  |  1993-03-12  |  4KB  |  210 lines

  1.  
  2. #define IB_PARSE_HACK 0
  3.  
  4. #import <appkit/Application.h>
  5. #import <appkit/View.h>
  6. #import <dpsclient/dpsNeXT.h>
  7. #include <sys/resource.h>
  8. #import <drivers/event_status_driver.h>
  9.  
  10. #define NOWINDOW        (0)
  11. #define NORMALWINDOW    (1)
  12. #define BACKWINDOW        (2)
  13.  
  14. #define SAVERTIER (50)
  15. #define BACKGROUNDTIER (-100)
  16.  
  17. // I'm not at all happy with BackSpace's time handling; it only works
  18. // for 49 days after rebooting (according to my calculations... I boot
  19. // a lot more often than that!) since it counds milliseconds in a
  20. // 32 bit unsigned int.  This problem would be solved if I stuffed the
  21. // time in a long long, but I think the compiler doesn't correctly do
  22. // 64 bit comparisons.  Time should probably stay in the unix
  23. // timeval struct.  Yuck! guess I should write functions for time
  24. // addition and comparison...
  25.  
  26. // typedef long long BStimeval;  //doesn't work
  27. typedef unsigned BStimeval;
  28.  
  29. // a function to return BackSpace's Thinker instance or it's equivalent
  30. id BSThinker();
  31.  
  32. enum BSEvents {BSDOSAVER, BSOPENFILE};
  33.  
  34. BStimeval currentTimeInMs();
  35.  
  36. float frandom();
  37. float randBetween(float a, float b);
  38.  
  39. @interface Thinker:Object
  40. {
  41.     id    spaceView;
  42.     
  43.     id    spaceWindow;
  44.     id    normalWindow;
  45.     id    bigUnbufferedWindow;
  46.     id    bigBufferedWindow;
  47.  
  48.     BOOL timerValid, keepLooping;
  49.     BOOL doingSaver;
  50.     DPSTimedEntry timer;
  51.     
  52.     int windowType;
  53.     int realViewIndex;
  54.     int virtualViewIndex;
  55.     NXRect windowRect;
  56.     
  57.     NXZone *backZone;
  58.     
  59.     int screenCount;
  60.     id windMatrix;
  61.  
  62.     id screenSaver;
  63.     id screenLocker;
  64.     BOOL screenSaverVal;
  65.     id mySlider;
  66.  
  67.     id priorityLevel;
  68.     int priority;
  69.     
  70.     NXEventHandle evs;    //event driver file descriptor
  71.     double dimBrightness, normalBrightness;
  72.     
  73.     id viewSelectionBrowser;
  74.     id imageView;
  75.     NXScreen *screens;
  76.     id screenList;
  77.  
  78.     id image;
  79.     int globalTier;
  80.     
  81.     id password;
  82.     
  83.     id invisibleInspectorBox;
  84.     id commonImageInspector;
  85.     id nullInspector;
  86.     id spaceInspector;
  87.     id boinkInspector;
  88.     id currentInspector;
  89.     NXRect inspectorFrame;
  90.     id oldInspectorOwner;
  91.     BOOL browserValid;
  92.     id infoPanel;
  93.  
  94.     
  95.     char *fileToOpen;
  96.     BOOL openAnother;
  97.  
  98.     int windowHasBeenDisplayed;
  99. }
  100.  
  101. - appDidInit:sender;
  102. - appDidHide:sender;
  103. - appDidUnhide:sender;
  104. - createTimer;
  105. - removeTimer;
  106. - doDistributorLoop;
  107.  
  108. - installSpaceViewIntoWindow:w;
  109. - useNormalWindow;
  110. - (int) backingTypeForView:aView;
  111. - useBackWindow:(int)tier;
  112. - createBigWindowIfNecessaryForView:aView;
  113.  
  114. - getWindowType;
  115. - changeWindowType:sender;
  116. - changeWindowTypeAndRemember:(BOOL)rem;
  117.  
  118. - getScreenSaverSetting;
  119. - changeScreenSaverSetting:sender;
  120. - setScreenSaver:(BOOL)val andRemember:(BOOL)rem;
  121. - calcDimTime;
  122. - maybeDoScreenSaver:sender;
  123. - applicationDefined:(NXEvent *)theEvent;
  124. - showFakeScreenSaverAfterPause:sender;
  125. - showFakeScreenSaver:sender;
  126. - doScreenSaver:sender;
  127.  
  128. - getPrioritySetting;
  129. - changeSliderValue:sender;
  130. - saveSliderValue;
  131.  
  132. - setImageFromFile: (const char *) filename;
  133. - setImageFromName: (const char *) name;
  134. - commonImageInit;
  135. - getImageFile;
  136. - setImageFileFrom: sender;
  137.  
  138. #if !IB_PARSE_HACK
  139. @end
  140.  
  141.  
  142. @interface Thinker(thinkMore)
  143. #endif
  144.  
  145. - getViewType;
  146. - selectRealViewIndex:sender;
  147. - setVirtualViewIndexAndIncrement:(BOOL)flag;
  148. - selectScreenSaverViews;
  149. - setWindowTitle;
  150.  
  151. - getScreenLockerSetting;
  152. - changeScreenLockerSetting:sender;
  153. - setScreenLocker:(BOOL)val andRemember:(BOOL)rem;
  154.  
  155. - backView;
  156. - showInfoPanel:sender;
  157.  
  158. #if !IB_PARSE_HACK
  159. @end
  160.  
  161.  
  162. @interface Thinker(ioctls)
  163. #endif
  164.  
  165. - normalMode;
  166. - screenSaverMode;
  167.  
  168. - blackOutAllScreens;
  169. - unBlackOutAllScreens;
  170.  
  171. - getDimBrightness:(double *)b;
  172. - _setDimBrightness :(double *)b;
  173.  
  174. - getNormalBrightness :(double *)b;
  175.  
  176. - getDimTime :(double *)t;
  177.  
  178. #if !IB_PARSE_HACK
  179. @end
  180.  
  181. @interface Thinker(inspector)
  182. #endif
  183.  
  184. - commonImageInspector;
  185. - nullInspector;
  186. - spaceInspector;
  187. - boinkInspector;
  188. - revertToDefaultImage:sender;
  189. - (BOOL)browser:sender columnIsValid:(int)column;
  190. - addCellWithString:(const char *)str at:(int)row toMatrix:matrix;
  191. - (int)browser:sender fillMatrix:matrix inColumn:(int)column;
  192.  
  193. - loadViewsFrom: (const char *) dirname;
  194. - doDelayedOpenFile;
  195.  
  196. - (const char *) appDirectory;
  197. - (const char *) moduleDirectory:(const char *)name;
  198. - (struct mach_header *) headerForModule:(const char *)name;
  199.  
  200. @end
  201.  
  202. @interface View(someOptionalMethods)
  203.  
  204. - newWindow;
  205. - enteredScreenSaverMode;
  206. - willExitScreenSaverMode;
  207.  
  208. @end
  209.  
  210.